Determining and managing the size of transmit (TX) and receive (RX) buffers and controlling retries of data frames are some of the more important issues faced when designing a transport mechanism for use with either wireline or wireless electronic devices over impaired channels. Some buffer sizing and management techniques currently in use were designed for wireline transport applications and are not suitable to a wireless transport setting, given the higher error rates and bursty transmission techniques/applications that are associated with wireless environments. Other buffer sizing and management techniques, such as those used for the Real-time Transport Protocol (RTP), have heavy buffer requirements typically in the order of 100's of Kilobytes of memory to support a typical video streaming application. The need for so much buffer memory adds to the overall cost of a design and the latency of the transport, and may not be appropriate for some cost sensitive designs or designs where space is at a premium.
With regard to retry control mechanisms, in some systems, retries are usually performed with a fixed maximum number of transmission attempts, regardless of the buffer capacity available or the requirements of the application (e.g., MPEG 2 transport streams) being used. This leads to situations where system overhead and transport latency are unnecessarily increased and where retries are attempted even when the information that is being retransmitted may be too “old” to be useful while channel utilization is approaching channel capacity, or information may be lost because a buffer (e.g., transmit buffer) may not be large enough to hold the amount of incoming data that needs to be transmitted while the retries are being attempted.